<?php

namespace App\Models\Orm;

use Illuminate\Database\Eloquent\Model;

/**
 * Class Product
 * @package App\Models\Orm
 */
class Product extends Model
{
    const TABLE_NAME = 'xjd_product';
    protected $table = self::TABLE_NAME;

    public $fillable = [
        'name',
        'link',
        'minimum_amount',
        'maximum_amount',
        'crowd',
        'review',
        'index',
        'interest_algorithm',
        'min_algorithm',
        'max_algorithm',
        'min_cycle',
        'max_cycle',
        'text_supplement',
        'fee',
        'fee_proportion',
        'fee_type',
        'fee_max',
        'fee_text',
        'actual_account',
        'repayment',
        'repayment_channels',
        'prepayment',
        'expected_algorithm',
        'raiders_connection',
        'product_logo',
        'product_introduction',
        'product_details',
        'status',
        'admin_users_id',
        'online',
        'activity',
        'ad_image',
        'admin_id',
        'passing_rate',
        'index_type1',
        'index_type2',
        'created_at',
        'fastest',
        'fastest_type',
        'updated_at',
    ];


    // 上线状态
    const STATUS_OFF = 0;           // 下线
    const STATUS_ON = 1;            // 上线

    public static $status_text = [
        self::STATUS_OFF => '下线',
        self::STATUS_ON => '上线',
    ];

    // 是否新
    const ONLINE_YES = 1;          // 是新上线
    const ONLINE_NO = 2;           // 否新上线

    public static $online_text = [
        self::ONLINE_YES => '是',
        self::ONLINE_NO => '否',
    ];

    // 是否参与活动
    const ACTIVITY_YES = 1;         // 参与活动
    const ACTIVITY_NO = 2;          // 未参与活动

    public static $activity_text = [
        self::ACTIVITY_YES => '是',
        self::ACTIVITY_NO => '否',
    ];

    // 利率单位
    const INTEREST_ALGORITHM_DAY = 0;       // 日
    const INTEREST_ALGORITHM_MOUTH = 1;     // 月

    public static $interest_algorithm_text = [
        self::INTEREST_ALGORITHM_DAY => '日利率',
        self::INTEREST_ALGORITHM_MOUTH => '月利率',
    ];

    // 周期单位
    public static $cycle_type_text = [
        self::INTEREST_ALGORITHM_DAY => '天',
        self::INTEREST_ALGORITHM_MOUTH => '月',
    ];


    // 提前还款
    const PREPAYMENT_NO = 0;                // 一次性还清
    const PREPAYMENT_YES = 1;               // 分期还款


    public static $prepayment_text = [
        self::PREPAYMENT_NO => '一次性还清',
        self::PREPAYMENT_YES => '分期还款',
    ];



    // 官方放款时间
    const FASTEST_TYPE_SECOND = 0;          // 秒
    const FASTEST_TYPE_MINUTE = 1;          // 分
    const FASTEST_TYPE_HOUR = 2;            // 时
    const FASTEST_TYPE_DAY = 3;             // 天

    public static $fastest_type_text = [
        self::FASTEST_TYPE_SECOND => '秒',
        self::FASTEST_TYPE_MINUTE => '分',
        self::FASTEST_TYPE_HOUR => '时',
        self::FASTEST_TYPE_DAY => '天',
    ];




    /**
     * 上线状态
     * @return mixed|string
     */
    public static function getStatusText($status)
    {
        return isset(self::$status_text[$status]) ? self::$status_text[$status] : '未知';
    }



    /**
     * 利率单位
     * @return mixed|string
     */
    public static function getInterestAlgorithmText($interest_algorithm)
    {
        return isset(self::$interest_algorithm_text[$interest_algorithm]) ? self::$interest_algorithm_text[$interest_algorithm] : '未知';
    }

    /**
     * 周期单位
     * @return mixed|string
     */
    public static function getCycleTypeText($interest_algorithm)
    {
        return isset(self::$cycle_type_text[$interest_algorithm]) ? self::$cycle_type_text[$interest_algorithm] : '未知';
    }



    /**
     * 到账方式文字
     * @return mixed|string
     */
    public static function getActualAccountText($actual_account)
    {
        return isset(self::$actual_account_text[$actual_account]) ? self::$actual_account_text[$actual_account] : '未知';
    }

    /**
     * 提前还款文字
     * @return mixed|string
     */
    public static function getPrepaymentText($prepayment)
    {
        return isset(self::$prepayment_text[$prepayment]) ? self::$prepayment_text[$prepayment] : '未知';
    }



    /**
     * 官方放款时间
     * @return mixed|string
     */
    public static function getFastestTypeText($fastest_type)
    {
        return isset(self::$fastest_type_text[$fastest_type]) ? self::$fastest_type_text[$fastest_type] : '未知';
    }



}
